170 research outputs found
A Complexity-Based Hierarchy for Multiprocessor Synchronization
For many years, Herlihy's elegant computability based Consensus Hierarchy has
been our best explanation of the relative power of various types of
multiprocessor synchronization objects when used in deterministic algorithms.
However, key to this hierarchy is treating synchronization instructions as
distinct objects, an approach that is far from the real-world, where
multiprocessor programs apply synchronization instructions to collections of
arbitrary memory locations. We were surprised to realize that, when considering
instructions applied to memory locations, the computability based hierarchy
collapses. This leaves open the question of how to better capture the power of
various synchronization instructions.
In this paper, we provide an approach to answering this question. We present
a hierarchy of synchronization instructions, classified by their space
complexity in solving obstruction-free consensus. Our hierarchy provides a
classification of combinations of known instructions that seems to fit with our
intuition of how useful some are in practice, while questioning the
effectiveness of others. We prove an essentially tight characterization of the
power of buffered read and write instructions.Interestingly, we show a similar
result for multi-location atomic assignments
Atomic Snapshots from Small Registers
Existing n-process implementations of atomic snapshots from registers use large registers. We consider the problem of implementing an m-component snapshot from small, Theta(log(n))-bit registers. A natural solution is to consider simulating the large registers. Doing so straightforwardly can significantly increase the step complexity. We introduce the notion of an interruptible read and show how it can reduce the step complexity of simulating the large registers in the snapshot of Afek et al. In particular, we show how to modify a recent large register simulation to support interruptible reads. Using this modified simulation, the step complexity of UPDATE and SCAN changes from Theta(n*m) to Theta(n*m+m*w), instead of Theta(n*m*w), if each component of the snapshot consists of Theta(w*log(n)) bits. We also show how to modify a limited-use snapshot to use small registers when the number of UPDATE operations is in n^{O(1)}. In this case, we change the step complexity of UPDATE from Theta((log(n))^3) to O(w + (log(n))^2*log(m)) and the step complexity of SCAN from Theta(log(n)) to O(m*w + log(n))
Extension-Based Proofs for Synchronous Message Passing
There is no wait-free algorithm that solves k-set agreement among n ? k+1 processes in asynchronous systems where processes communicate using only registers. However, proofs of this result for k ? 2 are complicated and involve topological reasoning. To explain why such sophisticated arguments are necessary, Alistarh, Aspnes, Ellen, Gelashvili, and Zhu recently introduced extension-based proofs, which generalize valency arguments, and proved that there are no extension-based proofs of this result.
In the synchronous message passing model, k-set agreement is solvable, but there is a lower bound of t rounds for any k-set agreement algorithm among n > kt processes when at most k processes can crash each round. The proof of this result for k ? 2 is also a complicated topological argument. We define a notion of extension-based proofs for this model and we show there are no extension-based proofs that t rounds are necessary for any k-set agreement algorithm among n = kt+1 processes, for k ? 2 and t > 2, when at most k processes can crash each round. In particular, our result shows that no valency argument can prove this lower bound
The Step Complexity of Multidimensional Approximate Agreement
Approximate agreement allows a set of n processes to obtain outputs that are within a specified distance ? > 0 of one another and within the convex hull of the inputs.
When the inputs are real numbers, there is a wait-free shared-memory approximate agreement algorithm [Moran, 1995] whose step complexity is in O(n log(S/?)), where S, the spread of the inputs, is the maximal distance between inputs. There is another wait-free algorithm [Schenk, 1995] that avoids the dependence on n and achieves O(log(M/?)) step complexity where M, the magnitude of the inputs, is the absolute value of the maximal input.
This paper considers whether it is possible to obtain an approximate agreement algorithm whose step complexity depends on neither n nor the magnitude of the inputs, which can be much larger than their spread. On the negative side, we prove that ?(min{(log M)/(log log M), (?log n)/(log log n)}) is a lower bound on the step complexity of approximate agreement, even when the inputs are real numbers. On the positive side, we prove that a polylogarithmic dependence on n and S/? can be achieved, by presenting an approximate agreement algorithm with O(log n (log n + log(S/?))) step complexity. Our algorithm works for multidimensional domains. The step complexity can be further restricted to be in O(min{log n (log n + log (S/?)), log(M/?)}) when the inputs are real numbers
Tight Bounds for Set Disjointness in the Message Passing Model
In a multiparty message-passing model of communication, there are
players. Each player has a private input, and they communicate by sending
messages to one another over private channels. While this model has been used
extensively in distributed computing and in multiparty computation, lower
bounds on communication complexity in this model and related models have been
somewhat scarce. In recent work \cite{phillips12,woodruff12,woodruff13}, strong
lower bounds of the form were obtained for several
functions in the message-passing model; however, a lower bound on the classical
Set Disjointness problem remained elusive.
In this paper, we prove tight lower bounds of the form
for the Set Disjointness problem in the message passing model. Our bounds are
obtained by developing information complexity tools in the message-passing
model, and then proving an information complexity lower bound for Set
Disjointness. As a corollary, we show a tight lower bound for the task
allocation problem \cite{DruckerKuhnOshman} via a reduction from Set
Disjointness
Why Extension-Based Proofs Fail
We introduce extension-based proofs, a class of impossibility proofs that
includes valency arguments. They are modelled as an interaction between a
prover and a protocol. Using proofs based on combinatorial topology, it has
been shown that it is impossible to deterministically solve k-set agreement
among n > k > 1 processes in a wait-free manner in certain asynchronous models.
However, it was unknown whether proofs based on simpler techniques were
possible. We show that this impossibility result cannot be obtained for one of
these models by an extension-based proof and, hence, extension-based proofs are
limited in power.Comment: This version of the paper is for the NIS model. Previous versions of
the paper are for the NIIS mode
- …